→從上到下依次執行,排在前面的先執行,排在後面的後執行
→包括 if、switch
第一種:
if(判斷條件)
{
敘述主體;
}
第二種:
if(判斷條件)
{
敘述主體A;
}
else
{
敘述主體B;
}
第三種:
if(判斷條件)
{
敘述主體A;
}
else if(判斷條件)
{
敘述主體B;
//可以有多個else if 語句 最後的else 也可以省略
}else
{
敘述主體C;
}
巢狀 if 敘述:
if(判斷條件1)
{
if(判斷條件2)
{
敘述主體;
}
...
其它敘述;
}
下面我們來用舉一些例子讓大家更清楚是如何使用if條件句:
public class IfDemo {
public static void main(String[] args) {
int age = 30;
if(age > 18) {
System.out.println("已經成年囉!");
}
}
}
public class IfDemo {
public static void main(String[] args) {
int age = 30;
if(age > 18) {
System.out.println("已經成年囉!");
}else {
System.out.println("還沒成年喔!");
}
}
}
public static void main(String[] args) {
int age = 30;
if(age >= 30 ) {
System.out.println("已經30歲囉!");
}else if(age > 20) {
System.out.println("已經成年囉!");
}else {
System.out.println("還沒成年喔!");
}
}
假如if、 else if、 else 後面的敘述句只有一句可以省略大括號{},但為了有更好的可讀性建議不省略
注意:使用if…else語句時,一定要先處理包含範圍較小的情況
否則就會出現以下情況
錯誤:
public class IfErrorDemo {
public static void main(String[] args) {
int age = 45;
if(age > 20) {
System.out.println("青年人");
}else if(age > 40) {
System.out.println("中年人");
}else if(age > 60) {
System.out.println("老年人");
}
}
}
//會印出青年人,不是想要的結果
上面的程式碼表面上沒有任何問題:人的年齡大於20 歲是青年人、大於40歲是中年人、大於60歲是老年人,但實際運行上會印出青年人,而實際的判斷應該是中年人
對於任何if else 語句 表面上else沒有任何條件 , 或是 else if 有一個條件 ,但因為else的含義是『否則』 else 本身就是一個條件,就是把前面的條件取反。因此,把上面的程式碼改寫成下面的形式
public class IfErrorDemo2 {
public static void main(String[] args) {
int age = 45;
if(age > 20) {
System.out.println("青年人");
}
//在原本的if條件中增加了else的隱含條件
else if(age > 40 && !(age > 20)) {
System.out.println("中年人");
}else if(age > 60 && !(age > 20) && !(age > 40 && !(age > 20))) {
System.out.println("老年人");
}
}
}
這樣就比較清楚為什麼上面發生錯誤了,又可以改寫成age > 40 && age <= 20 這樣就永遠不會發生了,所以這個這個程式碼永遠不會判斷中年人跟老年人的條件
為了達到真正的目的要把程式改成下面的形式:
public class IfCorrectDemo {
public static void main(String[] args) {
int age = 45;
if(age > 60) {
System.out.println("老年人");
}else if(age > 40) {
System.out.println("中年人");
}else if(age > 20) {
System.out.println("青年人");
}
}
}
所以age > 60 和 age >20 ,明顯 age > 60 的範圍較小,所以要先處理 age > 60 的情況
switch(判斷表達){
case 判斷條件1:
{
敘述主體;
break;
}
case 判斷條件2:
{
敘述主體;
break;
}
case 判斷條件3:
{
敘述主體;
break;
}
.....
case 判斷條件N:
{
敘述主體;
break;
}
default:
{
敘述主體;
}
}
public class SwitchCaseDemo {
public static void main(String[] args) {
char score = 'A';
switch(score) {
case 'A':
System.out.println("優");
break;
case 'B':
System.out.println("甲");
break;
case 'C':
System.out.println("乙");
break;
case 'F':
System.out.println("丁");
break;
default:
System.out.println("成績輸入錯誤");
}
}
}
今天就先介紹到這邊囉!